package com.zjhs.media.domain;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.zjhs.common.annotation.Excel;
import com.zjhs.common.core.domain.BaseEntity;
import com.zjhs.common.core.domain.entity.SysOss;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import org.springframework.format.annotation.DateTimeFormat;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * ${table.comment}
 * 
 * @author ruoyi
 * @date 2022-11-09
 */
@Data
@ApiModel(value="${ClassName}对象", description="${table.comment}")
@TableName("${table.name}")
public class ${ClassName}
{
    private static final long serialVersionUID = 1L;




    <#list table.columns as column>
    <#if column.columnName !="id"  &&   column.columnName !="create_by" && column.columnName != "create_time" && column.columnName !="update_by"  &&  column.columnName !="update_time" &&  column.columnName !="DELETED">
    /**
     * ${column.columnComment!""}
     */
    @Excel(name = "${column.columnComment!""}")
    @ApiModelProperty(value = "${column.columnComment!""}")
    private ${column.columnType} ${column.columnName2};

    <#elseif  column.columnName =="id">

    @TableId(value = "${column.columnComment!""}")
    @JsonSerialize(using = ToStringSerializer.class)
    @ApiModelProperty(value = "${column.columnComment}")
    private ${column.columnType} ${column.columnName2};
    </#if>

    </#list>



    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
<#list table.columns as column>
            .append("${column.columnName2}", get${column.columnName3}())
</#list>
            .toString();
    }
}
